The last of Google Cloud's core storage
options we're going to explore is Cloud Bigtable. Cloud Bigtable is Google's NoSQL Big
data database service. It's the same database that powers many
core Google services including search, analytics, maps, and Gmail. Bigtable is designed to handle massive
workloads at consistent low latency and high throughput. So it's a great choice for both
operational and analytical applications including internet of things, user
analytics, and financial data analysis. When deciding which
storage option is best, customers often choose Bigtable if they're
working with more than one terabyte of semi-structured or structured data. Data is fast with high throughput,
or it's rapidly changing. They're working with NoSQL data. This usually means transactions where
strong relational semantics are not required. Data is a time-series or
has natural semantic ordering. They're working with big data
running asynchronous batch or synchronous real-time
processing on the data, or they're running machine learning
algorithms on the data. Cloud Bigtable can interact with
other Google Cloud services and third-party clients. Using APIs data can be read from and written to Cloud Bigtable through
a data service layer like Managed VMs, the HBase REST server, or
a Java server using the HBase client. Typically this is used to serve data
to applications, dashboards, and data services. Data can also be streamed in through
a variety of popular stream processing frameworks like data flow streaming,
spark streaming, and storm. And if streaming is not an option,
data can also be read from and written to Cloud Bigtable through batch processes
like Hadoop MapReduce, Dataflow, or Spark. Often, summarized or newly calculated
data is written back to Cloud Bigtable or to a downstream database.